-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update prisma monorepo to v6 (major) #147
base: main
Are you sure you want to change the base?
Conversation
Important Review skippedBot user detected. To trigger a single review, invoke the You can disable this status message by setting the 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #147 +/- ##
=======================================
Coverage 34.16% 34.16%
=======================================
Files 26 26
Lines 600 600
Branches 93 93
=======================================
Hits 205 205
- Misses 382 395 +13
+ Partials 13 0 -13 ☔ View full report in Codecov by Sentry. |
657b5ab
to
4ee52a2
Compare
This PR contains the following updates:
5.22.0
->6.1.0
5.22.0
->6.1.0
Release Notes
prisma/prisma (@prisma/client)
v6.1.0
Compare Source
Today we're releasing Prisma ORM version 6.1.0
In this version our
tracing
Preview feature is being graduated to GA!Highlights
Tracing goes GA
The
tracing
Preview feature is now stable. You now no longer have to includetracing
in your set of enabled preview features.generator client { provider = "prisma-client-js" - previewFeatures = ["tracing"] }
We have also changed some of the spans generated by Prisma Client. Previously, a trace would report the following spans:
Now, the following are reported:
Additionally, we have made a few changes to our dependencies:
@opentelemetry/api
is now a peer dependency instead of a regular dependencyregisterInstrumentations
in@opentelemetry/instrumentation
is now re-exported by@prisma/instrumentation
After upgrading to Prisma ORM 6.1.0 you will need to add
@opentelemetry/api
to your dependencies if you haven't already:You will also no longer need to have
@opentelemetry/instrumentation
if you only useregisterInstrumentations
. In this case you can importregisterInstrumentations
from@prisma/instrumentation
Mutli-line comments in Prisma Schema Language (PSL)
Comments can now be defined as multi-line in your Prisma schema! Comments can use the existing format:
// this is a schema comment
or can now also use our multi-line format:
Bug fixes
Tracing related
As we're moving our
tracing
preview to GA, a number of issues have been resolved. Here are a few highlights:suppressTracing
Other issues
We also have a number of other issues that were resolved outside of our
tracing
feature.PrismaNeonHTTP
adapterfindUnique
returnsnull
when used instead ofPromise.all
Fixes and improvements
Prisma
TypeError: parentTracer.getSpanLimits is not a function
Span
constructorprisma:engine
spans do not respectsuppressTracing()
tracing: engine
spans don't pass throughSampler
prisma:client:operation
prisma:engine
spans are missing when there are multiplenew PrismaClient()
invocationsparentTracer.getSpanLimits is not a function
opentelemetry-sdk-trace-base
(e.g. Datadog tracer)traceparent
comments with multiple SQL statements@prisma/instrumentation
dependencies peer dependenciesdb.statement
attribute doesn't include thetraceparent
commentregisterInstrumentations
uses the global provider instead of the one passed inPrismaNeonHTTP
adapter breaks on some types e.g. timestampPrisma failed to detect the libssl/openssl version to use
Prisma Client
@prisma/instrumentation
Type Error:'InstrumentionNodeModuleDefintion' is not generic
v6.0.1
Compare Source
Today we are releasing the
6.0.1
patch release to address an issue with using Prisma Client generated in a custom output path with Next.js.Changes
"type": "commonjs"
addition in generatedpackage.json
v6.0.0
Compare Source
We’re excited to share the Prisma ORM v6 release today 🎉
As this is a major release, it includes a few breaking changes that may affect your application. Before upgrading, we recommend that you check out our upgrade guide to understand the impact on your application.
If you want to have an overview of what we accomplished since v5, check out our announcement blog post: Prisma 6: Better Performance, More Flexibility & Type-Safe SQL.
🌟 Help us spread the word about Prisma by starring the repo ☝️ or posting on X about the release.
Breaking changes
Minimum supported Node.js versions
The new minimum supported Node.js versions for Prisma ORM v6 are:
There is no official support for Node.js <18.18.0, 19, 21, 23.
Minimum supported TypeScript version
The new minimum supported TypeScript version for Prisma ORM v6 is: 5.1.0.
Schema change for implicit m-n relations on PostgreSQL
If you're using PostgreSQL and are defining implicit many-to-many relations in your Prisma schema, Prisma ORM maintains the relation table for you under the hood. This relation table has
A
andB
columns to represent the tables of the models that are part of this relation.Previous versions of Prisma ORM used to create a unique index on these two columns. In Prisma v6, this unique index is changing to a primary key in order to simplify for the default replica identity behaviour.
If you're defining implicit m-n relations in your Prisma schema, the next migration you'll create will contain
ALTER TABLE
statements for all the relation tables that belong to these relations.Full-text search on PostgreSQL
The
fullTextSearch
Preview feature is promoted to General Availability only for MySQL. This means that if you're using PostgreSQL and currently make use of this Preview feature, you now need to use the newfullTextSearchPostgres
Preview feature.Usage of
Buffer
Prisma v6 replaces the usage of
Buffer
withUint8Array
to represent fields of typeBytes
. Make sure to replace all your occurrences of theBuffer
type with the newUint8Array
.Removed
NotFoundError
In Prisma v6, we removed the
NotFoundError
in favor ofPrismaClientKnownRequestError
with error codeP2025
infindUniqueOrThrow()
andfindFirstOrThrow()
. If you've relied on catchingNotFoundError
instances in your code, you need to adjust the code accordingly.New keywords that can't be used as model names:
async
,await
,using
With this release, you can't use
async
,await
andusing
as model names any more.Preview features promoted to General Availability
In this release, we are promoting a number of Preview features to General Availability.
fullTextIndex
If you use the full-text index feature in your app, you can now remove
fullTextIndex
from thepreviewFeatures
in your Prisma schema:generator client { provider = "prisma-client-js" - previewFeatures = ["fullTextIndex"] }
fullTextSearch
If you use the full-text search feature with MySQL in your app, you can now remove
fullTextSearch
from thepreviewFeatures
in your Prisma schema:generator client { provider = "prisma-client-js" - previewFeatures = ["fullTextSearch"] }
If you are using it with PostgreSQL, you need to update the name of the feature flag to
fullTextSearchPostgres
:New features
We are also releasing new features with this release:
prisma generate
's outputCompany news
🚀 Prisma Postgres is free during Early Access
In case you missed it: We recently launched Prisma Postgres, a serverless database with zero cold starts, a generous free tier, connection pooling, real-time events, and a lot more! It’s entirely free during the Early Access phase, try it now!
✨ Let us know what you think of Prisma ORM
We're always trying to improve! If you've recently used Prisma ORM, we'd appreciate hearing your thoughts about your experience via this 2min survey.
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about these updates again.
This PR has been generated by Renovate Bot.